home *** CD-ROM | disk | FTP | other *** search
-
- {*******************************************************}
- { }
- { Delphi Visual Component Library }
- { }
- { Copyright (c) 1995,97 Borland International }
- { }
- {*******************************************************}
-
- unit Controls;
-
- {$P+,S-,W-,R-}
- {$C PRELOAD}
-
- interface
-
- {$R CONTROLS}
-
- uses Messages, Windows, Classes, Sysutils, Graphics, Menus, CommCtrl, Imm;
-
- { VCL control message IDs }
-
- const
- CM_BASE = $B000;
- CM_ACTIVATE = CM_BASE + 0;
- CM_DEACTIVATE = CM_BASE + 1;
- CM_GOTFOCUS = CM_BASE + 2;
- CM_LOSTFOCUS = CM_BASE + 3;
- CM_CANCELMODE = CM_BASE + 4;
- CM_DIALOGKEY = CM_BASE + 5;
- CM_DIALOGCHAR = CM_BASE + 6;
- CM_FOCUSCHANGED = CM_BASE + 7;
- CM_PARENTFONTCHANGED = CM_BASE + 8;
- CM_PARENTCOLORCHANGED = CM_BASE + 9;
- CM_HITTEST = CM_BASE + 10;
- CM_VISIBLECHANGED = CM_BASE + 11;
- CM_ENABLEDCHANGED = CM_BASE + 12;
- CM_COLORCHANGED = CM_BASE + 13;
- CM_FONTCHANGED = CM_BASE + 14;
- CM_CURSORCHANGED = CM_BASE + 15;
- CM_CTL3DCHANGED = CM_BASE + 16;
- CM_PARENTCTL3DCHANGED = CM_BASE + 17;
- CM_TEXTCHANGED = CM_BASE + 18;
- CM_MOUSEENTER = CM_BASE + 19;
- CM_MOUSELEAVE = CM_BASE + 20;
- CM_MENUCHANGED = CM_BASE + 21;
- CM_APPKEYDOWN = CM_BASE + 22;
- CM_APPSYSCOMMAND = CM_BASE + 23;
- CM_BUTTONPRESSED = CM_BASE + 24;
- CM_SHOWINGCHANGED = CM_BASE + 25;
- CM_ENTER = CM_BASE + 26;
- CM_EXIT = CM_BASE + 27;
- CM_DESIGNHITTEST = CM_BASE + 28;
- CM_ICONCHANGED = CM_BASE + 29;
- CM_WANTSPECIALKEY = CM_BASE + 30;
- CM_INVOKEHELP = CM_BASE + 31;
- CM_WINDOWHOOK = CM_BASE + 32;
- CM_RELEASE = CM_BASE + 33;
- CM_SHOWHINTCHANGED = CM_BASE + 34;
- CM_PARENTSHOWHINTCHANGED = CM_BASE + 35;
- CM_SYSCOLORCHANGE = CM_BASE + 36;
- CM_WININICHANGE = CM_BASE + 37;
- CM_FONTCHANGE = CM_BASE + 38;
- CM_TIMECHANGE = CM_BASE + 39;
- CM_TABSTOPCHANGED = CM_BASE + 40;
- CM_UIACTIVATE = CM_BASE + 41;
- CM_UIDEACTIVATE = CM_BASE + 42;
- CM_DOCWINDOWACTIVATE = CM_BASE + 43;
- CM_CONTROLLISTCHANGE = CM_BASE + 44;
- CM_GETDATALINK = CM_BASE + 45;
- CM_CHILDKEY = CM_BASE + 46;
- CM_DRAG = CM_BASE + 47;
- CM_HINTSHOW = CM_BASE + 48;
- CM_DIALOGHANDLE = CM_BASE + 49;
- CM_ISTOOLCONTROL = CM_BASE + 50;
- CM_RECREATEWND = CM_BASE + 51;
- CM_INVALIDATE = CM_BASE + 52;
- CM_SYSFONTCHANGED = CM_BASE + 53;
- CM_CONTROLCHANGE = CM_BASE + 54;
- CM_CHANGED = CM_BASE + 55;
-
- { VCL control notification IDs }
-
- const
- CN_BASE = $BC00;
- CN_CHARTOITEM = CN_BASE + WM_CHARTOITEM;
- CN_COMMAND = CN_BASE + WM_COMMAND;
- CN_COMPAREITEM = CN_BASE + WM_COMPAREITEM;
- CN_CTLCOLORBTN = CN_BASE + WM_CTLCOLORBTN;
- CN_CTLCOLORDLG = CN_BASE + WM_CTLCOLORDLG;
- CN_CTLCOLOREDIT = CN_BASE + WM_CTLCOLOREDIT;
- CN_CTLCOLORLISTBOX = CN_BASE + WM_CTLCOLORLISTBOX;
- CN_CTLCOLORMSGBOX = CN_BASE + WM_CTLCOLORMSGBOX;
- CN_CTLCOLORSCROLLBAR = CN_BASE + WM_CTLCOLORSCROLLBAR;
- CN_CTLCOLORSTATIC = CN_BASE + WM_CTLCOLORSTATIC;
- CN_DELETEITEM = CN_BASE + WM_DELETEITEM;
- CN_DRAWITEM = CN_BASE + WM_DRAWITEM;
- CN_HSCROLL = CN_BASE + WM_HSCROLL;
- CN_MEASUREITEM = CN_BASE + WM_MEASUREITEM;
- CN_PARENTNOTIFY = CN_BASE + WM_PARENTNOTIFY;
- CN_VKEYTOITEM = CN_BASE + WM_VKEYTOITEM;
- CN_VSCROLL = CN_BASE + WM_VSCROLL;
- CN_KEYDOWN = CN_BASE + WM_KEYDOWN;
- CN_KEYUP = CN_BASE + WM_KEYUP;
- CN_CHAR = CN_BASE + WM_CHAR;
- CN_SYSKEYDOWN = CN_BASE + WM_SYSKEYDOWN;
- CN_SYSCHAR = CN_BASE + WM_SYSCHAR;
- CN_NOTIFY = CN_BASE + WM_NOTIFY;
-
- { TModalResult values }
-
- const
- mrNone = 0;
- mrOk = idOk;
- mrCancel = idCancel;
- mrAbort = idAbort;
- mrRetry = idRetry;
- mrIgnore = idIgnore;
- mrYes = idYes;
- mrNo = idNo;
- mrAll = mrNo + 1;
- mrNoToAll = mrAll + 1;
- mrYesToAll = mrNoToAll + 1;
-
- { Cursor identifiers }
-
- const
- crDefault = 0;
- crNone = -1;
- crArrow = -2;
- crCross = -3;
- crIBeam = -4;
- crSize = -5;
- crSizeNESW = -6;
- crSizeNS = -7;
- crSizeNWSE = -8;
- crSizeWE = -9;
- crUpArrow = -10;
- crHourGlass = -11;
- crDrag = -12;
- crNoDrop = -13;
- crHSplit = -14;
- crVSplit = -15;
- crMultiDrag = -16;
- crSQLWait = -17;
- crNo = -18;
- crAppStart = -19;
- crHelp = -20;
- crHandPoint = -21;
-
- type
-
- { Forward declarations }
-
- TDragObject = class;
- TControl = class;
- TWinControl = class;
- TCustomImageList = class;
-
- { VCL control message records }
-
- TCMActivate = TWMNoParams;
- TCMDeactivate = TWMNoParams;
- TCMGotFocus = TWMNoParams;
- TCMLostFocus = TWMNoParams;
- TCMDialogKey = TWMKey;
- TCMDialogChar = TWMKey;
- TCMHitTest = TWMNCHitTest;
- TCMEnter = TWMNoParams;
- TCMExit = TWMNoParams;
- TCMDesignHitTest = TWMMouse;
- TCMWantSpecialKey = TWMKey;
-
- TCMCancelMode = record
- Msg: Cardinal;
- Unused: Integer;
- Sender: TControl;
- Result: Longint;
- end;
-
- TCMFocusChanged = record
- Msg: Cardinal;
- Unused: Integer;
- Sender: TWinControl;
- Result: Longint;
- end;
-
- TCMControlListChange = record
- Msg: Cardinal;
- Control: TControl;
- Inserting: LongBool;
- Result: Longint;
- end;
-
- TCMChildKey = record
- Msg: Cardinal;
- CharCode: Word;
- Unused: Word;
- Sender: TWinControl;
- Result: Longint;
- end;
-
- TCMControlChange = record
- Msg: Cardinal;
- Control: TControl;
- Inserting: LongBool;
- Result: Longint;
- end;
-
- TCMChanged = record
- Msg: Cardinal;
- Unused: Longint;
- Child: TControl;
- Result: Longint;
- end;
-
- TDragMessage = (dmDragEnter, dmDragLeave, dmDragMove, dmDragDrop, dmDragCancel,
- dmFindTarget);
-
- PDragRec = ^TDragRec;
- TDragRec = record
- Pos: TPoint;
- Source: TDragObject;
- Target: Pointer;
- end;
-
- TCMDrag = packed record
- Msg: Cardinal;
- DragMessage: TDragMessage;
- Reserved1: Byte;
- Reserved2: Word;
- DragRec: PDragRec;
- Result: Longint;
- end;
-
- { Cursor type }
-
- TCursor = -32768..32767;
-
- { Dragging objects }
-
- TDragObject = class(TObject)
- protected
- function GetDragImages: TCustomImageList; virtual;
- function GetDragCursor(Accepted: Boolean; X, Y: Integer): TCursor; virtual;
- procedure Finished(Target: TObject; X, Y: Integer; Accepted: Boolean); virtual;
- public
- function Instance: THandle; virtual;
- function GetName: string; virtual;
- procedure HideDragImage; virtual;
- procedure ShowDragImage; virtual;
- end;
-
- TDragControlObject = class(TDragObject)
- protected
- function GetDragImages: TCustomImageList; override;
- function GetDragCursor(Accepted: Boolean; X, Y: Integer): TCursor; override;
- procedure Finished(Target: TObject; X, Y: Integer; Accepted: Boolean); override;
- public
- constructor Create(AControl: TControl);
- property Control: TControl;
- procedure HideDragImage; override;
- procedure ShowDragImage; override;
- end;
-
- { Controls }
-
- TControlCanvas = class(TCanvas)
- protected
- procedure CreateHandle; override;
- public
- destructor Destroy; override;
- procedure FreeHandle;
- property Control: TControl;
- end;
-
- TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
-
- TControlState = set of (csLButtonDown, csClicked, csPalette,
- csReadingState, csAlignmentNeeded, csFocusing, csCreating,
- csPaintCopy);
-
- TControlStyle = set of (csAcceptsControls, csCaptureMouse,
- csDesignInteractive, csClickEvents, csFramed, csSetCaption, csOpaque,
- csDoubleClicks, csFixedWidth, csFixedHeight, csNoDesignVisible,
- csReplicatable, csNoStdEvents, csDisplayDragImage, csReflector);
-
- TMouseButton = (mbLeft, mbRight, mbMiddle);
-
- TDragMode = (dmManual, dmAutomatic);
-
- TDragState = (dsDragEnter, dsDragLeave, dsDragMove);
-
- TTabOrder = -1..32767;
-
- TCaption = type string;
-
- TDate = type TDateTime;
-
- TTime = type TDateTime;
-
- TScalingFlags = set of (sfLeft, sfTop, sfWidth, sfHeight, sfFont);
-
- TMouseEvent = procedure(Sender: TObject; Button: TMouseButton;
- Shift: TShiftState; X, Y: Integer) of object;
- TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState;
- X, Y: Integer) of object;
- TKeyEvent = procedure(Sender: TObject; var Key: Word;
- Shift: TShiftState) of object;
- TKeyPressEvent = procedure(Sender: TObject; var Key: Char) of object;
- TDragOverEvent = procedure(Sender, Source: TObject; X, Y: Integer;
- State: TDragState; var Accept: Boolean) of object;
- TDragDropEvent = procedure(Sender, Source: TObject;
- X, Y: Integer) of object;
- TStartDragEvent = procedure(Sender: TObject;
- var DragObject: TDragObject) of object;
- TEndDragEvent = procedure(Sender, Target: TObject;
- X, Y: Integer) of object;
-
- TWndMethod = procedure(var Message: TMessage) of object;
-
- TControl = class(TComponent)
- protected
- procedure Changed;
- procedure ChangeScale(M, D: Integer); dynamic;
- procedure Click; dynamic;
- procedure DblClick; dynamic;
- procedure DefaultHandler(var Message); override;
- procedure DefineProperties(Filer: TFiler); override;
- procedure DragCanceled; dynamic;
- procedure DragOver(Source: TObject; X, Y: Integer; State: TDragState;
- var Accept: Boolean); dynamic;
- procedure DoEndDrag(Target: TObject; X, Y: Integer); dynamic;
- procedure DoStartDrag(var DragObject: TDragObject); dynamic;
- function GetClientOrigin: TPoint; virtual;
- function GetClientRect: TRect; virtual;
- function GetDeviceContext(var WindowHandle: HWnd): HDC; virtual;
- function GetDragImages: TCustomImageList; virtual;
- function GetPalette: HPALETTE; dynamic;
- function GetParentComponent: TComponent; override;
- function GetPopupMenu: TPopupMenu; dynamic;
- function HasParent: Boolean; override;
- procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); dynamic;
- procedure MouseMove(Shift: TShiftState; X, Y: Integer); dynamic;
- procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); dynamic;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- function PaletteChanged(Foreground: Boolean): Boolean; dynamic;
- procedure ReadState(Reader: TReader); override;
- procedure RequestAlign;
- procedure SendCancelMode(Sender: TControl);
- procedure SetDragMode(Value: TDragMode); virtual;
- procedure SetParent(AParent: TWinControl); virtual;
- procedure SetParentComponent(Value: TComponent); override;
- procedure SetName(const Value: TComponentName); override;
- procedure SetZOrder(TopMost: Boolean); dynamic;
- procedure UpdateBoundsRect(const R: TRect);
- procedure VisibleChanging; dynamic;
- procedure WndProc(var Message: TMessage); virtual;
- property Caption: TCaption;
- property Color: TColor default clWindow;
- property DesktopFont: Boolean default False;
- property DragCursor: TCursor default crDrag;
- property DragMode: TDragMode default dmManual;
- property Font: TFont;
- property IsControl: Boolean;
- property MouseCapture: Boolean;
- property ParentColor: Boolean default True;
- property ParentFont: Boolean default True;
- property ParentShowHint: Boolean default True;
- property PopupMenu: TPopupMenu;
- property ScalingFlags: TScalingFlags;
- property Text: TCaption;
- property WindowText: PChar;
- property OnClick: TNotifyEvent;
- property OnDblClick: TNotifyEvent;
- property OnDragDrop: TDragDropEvent;
- property OnDragOver: TDragOverEvent;
- property OnEndDrag: TEndDragEvent;
- property OnMouseDown: TMouseEvent;
- property OnMouseMove: TMouseMoveEvent;
- property OnMouseUp: TMouseEvent;
- property OnStartDrag: TStartDragEvent;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure BeginDrag(Immediate: Boolean);
- procedure BringToFront;
- function ClientToScreen(const Point: TPoint): TPoint;
- function Dragging: Boolean;
- procedure DragDrop(Source: TObject; X, Y: Integer); dynamic;
- procedure EndDrag(Drop: Boolean);
- function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;
- function GetTextLen: Integer;
- procedure Hide;
- procedure Invalidate; virtual;
- function Perform(Msg: Cardinal; WParam, LParam: Longint): Longint;
- procedure Refresh;
- procedure Repaint; virtual;
- function ScreenToClient(const Point: TPoint): TPoint;
- procedure SendToBack;
- procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual;
- procedure SetTextBuf(Buffer: PChar);
- procedure Show;
- procedure Update; virtual;
- property Align: TAlign default alNone;
- property BoundsRect: TRect;
- property ClientHeight: Integer;
- property ClientOrigin: TPoint;
- property ClientRect: TRect;
- property ClientWidth: Integer;
- property ControlState: TControlState;
- property ControlStyle: TControlStyle;
- property Parent: TWinControl;
- property ShowHint: Boolean;
- property Visible: Boolean default True;
- property Enabled: Boolean default True;
- property WindowProc: TWndMethod;
- published
- property Left: Integer;
- property Top: Integer;
- property Width: Integer;
- property Height: Integer;
- property Cursor: TCursor default crDefault;
- property Hint: string;
- end;
-
- TControlClass = class of TControl;
-
- TCreateParams = record
- Caption: PChar;
- Style: Longint;
- ExStyle: Longint;
- X, Y: Integer;
- Width, Height: Integer;
- WndParent: HWnd;
- Param: Pointer;
- WindowClass: TWndClass;
- WinClassName: array[0..63] of Char;
- end;
-
- TImeMode = (imDisable, imClose, imOpen, imDontCare,
- imSAlpha, imAlpha, imHira, imSKata, imKata,
- imChinese, imSHanguel, imHanguel);
- TImeName = type string;
-
- TWinControl = class(TControl)
- protected
- FDoubleBuffered: Boolean;
- FInImeComposition: Boolean;
- procedure AlignControls(AControl: TControl; var Rect: TRect); virtual;
- procedure ChangeScale(M, D: Integer); override;
- procedure CreateHandle; virtual;
- procedure CreateParams(var Params: TCreateParams); virtual;
- procedure CreateSubClass(var Params: TCreateParams;
- ControlClassName: PChar);
- procedure CreateWindowHandle(const Params: TCreateParams); virtual;
- procedure CreateWnd; virtual;
- procedure DefaultHandler(var Message); override;
- procedure DestroyHandle;
- procedure DestroyWindowHandle; virtual;
- procedure DestroyWnd; virtual;
- procedure DoEnter; dynamic;
- procedure DoExit; dynamic;
- function DoKeyDown(var Message: TWMKey): Boolean;
- function DoKeyPress(var Message: TWMKey): Boolean;
- function DoKeyUp(var Message: TWMKey): Boolean;
- function FindNextControl(CurControl: TWinControl;
- GoForward, CheckTabStop, CheckParent: Boolean): TWinControl;
- procedure FixupTabList;
- procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
- function GetClientOrigin: TPoint; override;
- function GetClientRect: TRect; override;
- function GetDeviceContext(var WindowHandle: HWnd): HDC; override;
- function GetParentHandle: HWnd;
- function GetTopParentHandle: HWnd;
- function IsControlMouseMsg(var Message: TWMMouse): Boolean;
- procedure KeyDown(var Key: Word; Shift: TShiftState); dynamic;
- procedure KeyUp(var Key: Word; Shift: TShiftState); dynamic;
- procedure KeyPress(var Key: Char); dynamic;
- procedure MainWndProc(var Message: TMessage);
- procedure NotifyControls(Msg: Word);
- procedure PaintControls(DC: HDC; First: TControl);
- procedure PaintHandler(var Message: TWMPaint);
- procedure PaintWindow(DC: HDC); virtual;
- function PaletteChanged(Foreground: Boolean): Boolean; override;
- procedure ReadState(Reader: TReader); override;
- procedure RecreateWnd;
- procedure ResetIme;
- function ResetImeComposition(Action: DWORD): Boolean;
- procedure ScaleControls(M, D: Integer);
- procedure SelectFirst;
- procedure SelectNext(CurControl: TWinControl;
- GoForward, CheckTabStop: Boolean);
- procedure SetChildOrder(Child: TComponent; Order: Integer); override;
- procedure SetIme;
- function SetImeCompositionWindow(Font: TFont; XPos, YPos: Integer): Boolean;
- procedure SetZOrder(TopMost: Boolean); override;
- procedure ShowControl(AControl: TControl); virtual;
- procedure WndProc(var Message: TMessage); override;
- property Ctl3D: Boolean;
- property DefWndProc: Pointer;
- property ImeMode: TImeMode default imDontCare;
- property ImeName: TImeName;
- property ParentCtl3D: Boolean default True;
- property WindowHandle: HWnd;
- property OnEnter: TNotifyEvent;
- property OnExit: TNotifyEvent;
- property OnKeyDown: TKeyEvent;
- property OnKeyPress: TKeyPressEvent;
- property OnKeyUp: TKeyEvent;
- public
- constructor Create(AOwner: TComponent); override;
- constructor CreateParented(ParentWindow: HWnd);
- destructor Destroy; override;
- procedure Broadcast(var Message);
- function CanFocus: Boolean;
- function ContainsControl(Control: TControl): Boolean;
- function ControlAtPos(const Pos: TPoint; AllowDisabled: Boolean): TControl;
- procedure DisableAlign;
- procedure EnableAlign;
- function Focused: Boolean;
- procedure GetTabOrderList(List: TList); dynamic;
- function HandleAllocated: Boolean;
- procedure HandleNeeded;
- procedure InsertControl(AControl: TControl);
- procedure Invalidate; override;
- procedure PaintTo(DC: HDC; X, Y: Integer);
- procedure RemoveControl(AControl: TControl);
- procedure Realign;
- procedure Repaint; override;
- procedure ScaleBy(M, D: Integer);
- procedure ScrollBy(DeltaX, DeltaY: Integer);
- procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
- procedure SetFocus; virtual;
- procedure Update; override;
- procedure UpdateControlState;
- property Brush: TBrush;
- property Controls[Index: Integer]: TControl;
- property ControlCount: Integer;
- property Handle: HWnd;
- property ParentWindow: HWnd;
- property Showing: Boolean;
- property TabOrder: TTabOrder default -1;
- property TabStop: Boolean default False;
- published
- property HelpContext: THelpContext default 0;
- end;
-
- TWinControlClass = class of TWinControl;
-
- TGraphicControl = class(TControl)
- protected
- procedure Paint; virtual;
- property Canvas: TCanvas;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- end;
-
- TCustomControl = class(TWinControl)
- protected
- procedure Paint; virtual;
- procedure PaintWindow(DC: HDC); override;
- property Canvas: TCanvas;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- end;
-
- THintWindow = class(TCustomControl)
- protected
- procedure CreateParams(var Params: TCreateParams); override;
- procedure Paint; override;
- public
- constructor Create(AOwner: TComponent); override;
- procedure ActivateHint(Rect: TRect; const AHint: string); virtual;
- procedure ActivateHintData(Rect: TRect; const AHint: string; AData: Pointer); virtual;
- function CalcHintRect(MaxWidth: Integer; const AHint: string;
- AData: Pointer): TRect; virtual;
- function IsHintMsg(var Msg: TMsg): Boolean; virtual;
- procedure ReleaseHandle;
- property Caption;
- property Color;
- property Canvas;
- end;
-
- THintWindowClass = class of THintWindow;
-
- { TChangeLink }
-
- TChangeLink = class(TObject)
- public
- destructor Destroy; override;
- procedure Change; dynamic;
- property OnChange: TNotifyEvent;
- property Sender: TCustomImageList;
- end;
-
- { TCustomImageList }
-
- TDrawingStyle = (dsFocus, dsSelected, dsNormal, dsTransparent);
- TImageType = (itImage, itMask);
- TResType = (rtBitmap, rtCursor, rtIcon);
- TOverlay = 0..3;
- TLoadResource = (lrDefaultColor, lrDefaultSize, lrFromFile,
- lrMap3DColors, lrTransparent, lrMonoChrome);
- TLoadResources = set of TLoadResource;
-
- TCustomImageList = class(TComponent)
- protected
- procedure Change; dynamic;
- procedure DefineProperties(Filer: TFiler); override;
- procedure GetImages(Index: Integer; Image, Mask: TBitmap);
- procedure HandleNeeded;
- procedure Initialize;
- property BlendColor: TColor default clNone;
- property BkColor: TColor default clNone;
- property AllocBy: Integer default 4;
- property DrawingStyle: TDrawingStyle default dsNormal;
- property Height: Integer default 16;
- property ImageType: TImageType default itImage;
- property Masked: Boolean default True;
- property OnChange: TNotifyEvent;
- property ShareImages: Boolean default False;
- property Width: Integer default 16;
- public
- constructor Create(AOwner: TComponent); override;
- constructor CreateSize(AWidth, AHeight: Integer);
- destructor Destroy; override;
- procedure Assign(Source: TPersistent); override;
- function Add(Image, Mask: TBitmap): Integer;
- function AddIcon(Image: TIcon): Integer;
- procedure AddImages(Value: TCustomImageList);
- function AddMasked(Image: TBitmap; MaskColor: TColor): Integer;
- function BeginDrag(Window: HWND; X, Y: Integer): Boolean;
- procedure Clear;
- procedure Delete(Index: Integer);
- function DragLock(Window: HWND; XPos, YPos: Integer): Boolean;
- function DragMove(X, Y: Integer): Boolean;
- procedure DragUnlock;
- procedure Draw(Canvas: TCanvas; X, Y, Index: Integer);
- procedure DrawOverlay(Canvas: TCanvas; X, Y: Integer;
- ImageIndex: Integer; Overlay: TOverlay);
- function EndDrag: Boolean;
- function FileLoad(ResType: TResType; Name: string;
- MaskColor: TColor): Boolean;
- procedure GetBitmap(Index: Integer; Image: TBitmap);
- function GetHotSpot: TPoint;
- procedure GetIcon(Index: Integer; Image: TIcon);
- function GetImageBitmap: HBITMAP;
- function GetMaskBitmap: HBITMAP;
- function GetResource(ResType: TResType; Name: string;
- Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean;
- function GetInstRes(Instance: THandle; ResType: TResType; Name: string;
- Width: Integer; LoadFlags: TLoadResources; MaskColor: TColor): Boolean;
- function HandleAllocated: Boolean;
- procedure HideDragImage;
- procedure Insert(Index: Integer; Image, Mask: TBitmap);
- procedure InsertIcon(Index: Integer; Image: TIcon);
- procedure InsertMasked(Index: Integer; Image: TBitmap; MaskColor: TColor);
- procedure Move(CurIndex, NewIndex: Integer);
- function Overlay(ImageIndex: Integer; Overlay: TOverlay): Boolean;
- procedure RegisterChanges(Value: TChangeLink);
- function ResourceLoad(ResType: TResType; Name: string;
- MaskColor: TColor): Boolean;
- function ResInstLoad(Instance: THandle; ResType: TResType; Name: string;
- MaskColor: TColor): Boolean;
- procedure Replace(Index: Integer; Image, Mask: TBitmap);
- procedure ReplaceIcon(Index: Integer; Image: TIcon);
- procedure ReplaceMasked(Index: Integer; NewImage: TBitmap; MaskColor: TColor);
- function SetDragImage(Index, HotSpotX, HotSpotY: Integer): Boolean;
- procedure ShowDragImage;
- procedure UnRegisterChanges(Value: TChangeLink);
- property Count: Integer;
- property DragCursor: TCursor;
- property Dragging: Boolean;
- property Handle: HImageList;
- end;
-
- { TImageList }
- TImageList = class(TCustomImageList)
- published
- property BlendColor;
- property BkColor;
- property AllocBy;
- property DrawingStyle;
- property Height;
- property ImageType;
- property Masked;
- property OnChange;
- property ShareImages;
- property Width;
- end;
-
- function IsDragObject(Sender: TObject): Boolean;
- function FindControl(Handle: HWnd): TWinControl;
- function FindVCLWindow(const Pos: TPoint): TWinControl;
- function FindDragTarget(const Pos: TPoint; AllowDisabled: Boolean): TControl;
- function GetCaptureControl: TControl;
- procedure SetCaptureControl(Control: TControl);
- procedure CancelDrag;
-
- function CursorToString(Cursor: TCursor): string;
- function StringToCursor(const S: string): TCursor;
- procedure GetCursorValues(Proc: TGetStrProc);
- function CursorToIdent(Cursor: Longint; var Ident: string): Boolean;
- function IdentToCursor(const Ident: string; var Cursor: Longint): Boolean;
-
- function GetShortHint(const Hint: string): string;
- function GetLongHint(const Hint: string): string;
-
- var
- CreationControl: TWinControl = nil;
-
- function InitWndProc(HWindow: HWnd; Message, WParam: Longint;
- LParam: Longint): Longint; stdcall;
-
- const
- CTL3D_ALL = $FFFF;
-
- var
- NewStyleControls: Boolean;
-
- function SendAppMessage(Msg: Cardinal; WParam, LParam: Longint): Longint;
- procedure MoveWindowOrg(DC: HDC; DX, DY: Integer);
-
- procedure SetImeMode(hWnd: HWND; Mode: TImeMode);
- procedure SetImeName(Name: TImeName);
- function Win32NLSEnableIME(hWnd: HWND; Enable: Boolean): Boolean;
- function Imm32GetContext(hWnd: HWND): HIMC;
- function Imm32ReleaseContext(hWnd: HWND; hImc: HIMC): Boolean;
- function Imm32GetConversionStatus(hImc: HIMC; var Conversion, Sentence: DWORD): Boolean;
- function Imm32SetConversionStatus(hImc: HIMC; Conversion, Sentence: DWORD): Boolean;
- function Imm32SetOpenStatus(hImc: HIMC; fOpen: Boolean): Boolean;
- function Imm32SetCompositionWindow(hImc: HIMC; lpCompForm: PCOMPOSITIONFORM): Boolean;
- function Imm32SetCompositionFont(hImc: HIMC; lpLogfont: PLOGFONTA): Boolean;
- function Imm32GetCompositionString(hImc: HIMC; dWord1: DWORD; lpBuf: pointer; dwBufLen: DWORD): Longint;
- function Imm32IsIME(hKl: HKL): Boolean;
- function Imm32NotifyIME(hImc: HIMC; dwAction, dwIndex, dwValue: DWORD): Boolean;
-
- implementation
-